package com.ruoyi.supplier.service;

import java.util.List;
import com.ruoyi.supplier.domain.TbPrice;
import com.ruoyi.supplier.domain.TbProduct;

/**
 * 价格Service接口
 * 
 * @author ruoyi
 * @date 2021-02-24
 */
public interface ITbPriceService 
{
    /**
     * 查询价格
     * 
     * @param id 价格ID
     * @return 价格
     */
    public TbPrice selectTbPriceById(Long id);

    /**
     * 查询价格列表
     * 
     * @param tbPrice 价格
     * @return 价格集合
     */
    public List<TbPrice> selectTbPriceList(TbPrice tbPrice);

    /**
     * 查询价格列表
     *
     * @param tbPrice 价格
     * @return 价格集合
     */
    public List<TbPrice> selectTbPriceListProduct(TbPrice tbPrice);

    /**
     * 新增价格
     * 
     * @param tbPrice 价格
     * @return 结果
     */
    public int insertTbPrice(TbPrice tbPrice);

    /**
     * 修改价格
     * 
     * @param tbPrice 价格
     * @return 结果
     */
    public int updateTbPrice(TbPrice tbPrice);

    /**
     * 修改价格
     *
     * @param list 价格
     * @return 结果
     */
    public int updateTbPrice(List<TbPrice> list);

    /**
     * 批量删除价格
     * 
     * @param ids 需要删除的价格ID
     * @return 结果
     */
    public int deleteTbPriceByIds(Long[] ids);

    /**
     * 删除价格信息
     * 
     * @param id 价格ID
     * @return 结果
     */
    public int deleteTbPriceById(Long id);

    /**
     * 增加库存
     * @param tbPrice
     * @return
     */
    int updateTbPriceAddQty(TbPrice tbPrice);

    /**
     * 减少库存
     * @param tbPrice
     */
    int updateTbPriceReduceQty(TbPrice tbPrice);

    /**
     * 更新价格设置中的商品规格行
     * @param tbProduct
     * @return
     */
    int updateTbPriceSet(TbProduct tbProduct);
}
